Skip to content

Use Google Benchmark for performance tables#800

Merged
aobolensk merged 1 commit into
learning-process:masterfrom
allnes:an/google-benchmark-perf
Jun 6, 2026
Merged

Use Google Benchmark for performance tables#800
aobolensk merged 1 commit into
learning-process:masterfrom
allnes:an/google-benchmark-perf

Conversation

@allnes
Copy link
Copy Markdown
Member

@allnes allnes commented Jun 5, 2026

What changed

  • Added Google Benchmark as a vendored submodule and CMake dependency for ppc_perf_tests.
  • Updated ppc_perf_tests to register and run Google Benchmark cases from existing performance tests.
  • Switched performance measurement to manual elapsed time in seconds with technology-specific timers for MPI, OpenMP, oneTBB, and chrono-based implementations.
  • Kept the performance entrypoint in scripts/run_tests.py --running-type=performance and made it write separate benchmark JSON files under build/perf_stat_dir/benchmarks.
  • Kept all, mpi, and process seq performance groups on the MPI runner; thread seq, omp, stl, and tbb run without MPI.
  • Updated the performance CI job to call scripts/run_tests.py --running-type=performance directly.
  • Removed the legacy performance scripts: scripts/create_perf_table.py, scripts/generate_perf_results.sh, and scripts/generate_perf_results.bat.
  • Removed the legacy modules/performance API and tests.
  • Moved the remaining performance test attributes into modules/util/include/perf_test_util.hpp.
  • Updated scoreboard performance loading to read Google Benchmark JSON files directly and calculate metrics from raw seconds.
  • Added scoreboard tests for benchmark name parsing, time-unit conversion, statistic selection, and raw-second performance metric calculation.

@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 5, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.99%. Comparing base (c358e80) to head (ef4bf79).

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #800      +/-   ##
==========================================
- Coverage   92.41%   91.99%   -0.43%     
==========================================
  Files          15       14       -1     
  Lines         514      462      -52     
  Branches      202      171      -31     
==========================================
- Hits          475      425      -50     
  Misses          5        5              
+ Partials       34       32       -2     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@allnes allnes force-pushed the an/google-benchmark-perf branch 4 times, most recently from 15cd272 to f67cba4 Compare June 5, 2026 23:35
@allnes allnes marked this pull request as ready for review June 5, 2026 23:39
@allnes allnes force-pushed the an/google-benchmark-perf branch 8 times, most recently from 254373c to 87c4958 Compare June 6, 2026 01:45
@github-actions github-actions Bot added the docs label Jun 6, 2026
@allnes allnes force-pushed the an/google-benchmark-perf branch from 87c4958 to b62f4dd Compare June 6, 2026 01:50
@allnes allnes force-pushed the an/google-benchmark-perf branch from b62f4dd to 5d8a050 Compare June 6, 2026 01:53
@allnes allnes force-pushed the an/google-benchmark-perf branch from 5d8a050 to ef4bf79 Compare June 6, 2026 02:01
@aobolensk aobolensk merged commit 97e205a into learning-process:master Jun 6, 2026
40 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants